package com.cetccloud.ap.proxy.processor;

import com.cetccloud.ap.proxy.common.ProxyContext;
import reactor.core.publisher.Mono;

/**
 * @ClassName AbstractHandler
 * @Description TODO
 * @Author superz
 * @Date 2021/4/12 18:24
 * @Version 1.0
 **/
public abstract class AbstractProcessor<P, R> implements Processor<P, R> {

    /**
     * @return reactor.core.publisher.Mono<R>
     * @Author superz
     * @Description TODO 封装校验、异常等逻辑
     * @Date 2021/4/21 19:55
     * @Param [p, context]
     **/
    @Override
    public abstract Mono<R> process(P p, ProxyContext context);
}
